n8n 是一款開源的自動化工作流程工具,它提供了圖形化操作介面,不需要寫程式就能串接各種服務與資料來源。
這樣的特性非常適合我這次的 AI 新聞小編專案,因此我選擇使用 n8n 來實作每天自動抓新聞、摘要、並推送到 LINE 的流程。
我選擇 n8n 的主要原因有以下三點:
為什麼我選擇用 Docker 安裝?因為用一行指令就可以啟動 n8n,而且不論是 Windows 或 macOS 都能用相同方式執行。
在自己的電腦上安裝 n8n ( 本地端免費版 ),不像用雲端版 ( n8n.cloud )在14天的免費試用期之後就要付費,且本地端安裝在使用上不會限制流程術或使用次數,所以我決定在這次的專案中使用本地端免費版的 n8n,安裝步驟如下:
https://www.docker.com/products/docker-desktop/
好棒,你完成了!
❗Windows 可以使用 PowerShell、命令提示字元(cmd)或 Windows Terminal,macOS 請打開 Terminal 應用程式。
docker run -d -p 5678:5678 -v C:\Users\yaoyu\.n8n:/home/node/.n8n n8nio/n8n
這行指令的意思是:
-d
:讓容器在背景執行,不會卡在終端機畫面-p 5678:5678
:把電腦的 5678 埠口對應到容器內的 5678 埠口,方便我們用瀏覽器連接-v C:\\Users\\你的使用者名稱\\.n8n:/home/node/.n8n
:把你電腦裡的資料夾掛載到容器裡,這樣你的設定和資料就會保存n8nio/n8n
:指定要使用的 n8n 映像檔❗請把 C:\\Users\\你的使用者名稱\\.n8n
要改成你電腦裡真實的路徑,確保資料能正確保存。
打完指令後按 Enter,Docker 就會幫你啟動 n8n 了!
(如果出現錯誤,請先確認你的 Docker Desktop 已經啟動)
下次啟動 n8n 只需要打開 Docker 的 Containers,並點選 Actions 下方的三個點點、點擊最下方的
「Open with browser」,就會導向你的 n8n 頁面了!
💡注意
假如你在終端機打了:docker run -it --rm -p 5678:5678 n8nio/n8n
這只能用來暫時執行,沒辦法永久保存。
所以如果你的電腦莫名自己關機,或是你的滑鼠突然活起來了,自己關掉 Docker,
而你又沒有輸入可以讓 n8n 永久保存 + 背景執行的指令,你辛苦做的 workflow 將付之一炬,連帳號都會被刪除。
基本資料填寫完畢、取得 license key之後去信箱驗證就可以使用 n8n 了~
n8n 的介面簡潔明瞭,由四個主要區塊組成:左側工具欄、上方工具列、中央白板區、右側節點區。接下來我會一一介紹這些區域的功能~
點選小房子圖標(Overview)就會進入到 Workflow 的頁面,這邊可以找到:
點進 Workflow 裡面,會看到上方有此 Workflow 的名稱、分享鍵和儲存鍵。
這邊就是建立工作流程的主要區域,可以放置多個節點並將其連接在一起。
點擊右上角的「+」可以列出所有可用的節點,可以根據分類找到想要的功能,或直接在搜索欄打出需要的節點名稱,點選的節點會出現在中間白板工作區。
接下來,終於要開始實作啦!今天的目標是:自動從 CNA 抓取最新的科技新聞。
RSS Read
RSS READ
→ 點選它https://feeds.feedburner.com/rsscna/technology
Edit Fields (Set)
,顯示你想要的資訊{{$json["title"]}}
{{$json["link"]}}
{{ $json.content }}
畫面右邊會顯示你加入的資訊,如下圖:
目前的白板工作區會長的像下圖這樣:
⚠️記得加入完節點後一定要記得點選右上方的「Save」,避免努力的心血都消失!
💡注意
假如你想要先測試一則新聞就好,可以在 RSS Read
和 Edit Fields
中間增加一個 Code
節點。
$input.all()
是 n8n 提供的 API,會回傳所有輸入的 items[0]
表示只取第一筆 ( 索引值0 = 第一筆資料 )return [$input.all()[0]]
就是只保留第一筆資料今天的實作就到這裡告一段落啦~
恭喜你成功利用n8n抓取到第一篇新聞資訊,並用 Edit Fields 節點整理出想要的欄位內容。
抓新聞(RSS) → 擷取內容 → AI 摘要 → 傳送 ( LINE)
明天(Day 4)我將會註冊並設定 LINE Bot,進行初步測試,看能不能把今天抓到的新聞,成功自動推送到 LINE!